python 函数函数

《黑客与画家》上看到的 函数返回的是一个累加器函数

def foo(n) :
    s = [n]
    def bar(i) :
        s[0] += i
        return s[0]
    return bar

print foo(8)
print foo(8)(9)
def foo(n) :
    class acc :
        def __init__(self,s):
            self.s = s
        def inc(self,i):
            self.s += i
            return self.s
        return acc(n).inc
class foo :
    def __init__(self,n) :
        self.n = n
    def __call__(self,i) :
        self.n += i
        return self.n